- Title
- Efficient Compiler Autotuning via Bayesian Optimization
- Creator
- Chen, Junjie; Xu, Ningxin; Chen, Peiqi; Zhang, Hongyu
- Relation
- 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). Proceedings of the 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE) (Madrid, ES 22-30 May, 2021) p. 1198-1209
- Publisher Link
- http://dx.doi.org/10.1109/icse43902.2021.00110
- Publisher
- Institute of Electrical and Electronics Engineers (IEEE)
- Resource Type
- conference paper
- Date
- 2021
- Description
- A typical compiler such as GCC supports hundreds of optimizations controlled by compilation flags for improving the runtime performance of the compiled program. Due to the large number of compilation flags and the exponential number of flag combinations, it is impossible for compiler users to manually tune these optimization flags in order to achieve the required runtime performance of the compiled programs. Over the years, many compiler autotuning approaches have been proposed to automatically tune optimization flags, but they still suffer from the efficiency problem due to the huge search space. In this paper, we propose the first Bayesian optimization based approach, called BOCA, for efficient compiler autotuning. In BOCA, we leverage a tree-based model for approximating the objective function in order to make Bayesian optimization scalable to a large number of optimization flags. Moreover, we design a novel searching strategy to improve the efficiency of Bayesian optimization by incorporating the impact of each optimization flag measured by the tree-based model and a decay function to strike a balance between exploitation and exploration. We conduct extensive experiments to investigate the effectiveness of BOCA on two most popular C compilers (i.e., GCC and LLVM) and two widely-used C benchmarks (i.e., cBench and PolyBench). The results show that BOCA significantly outperforms the state-of-the-art compiler autotuning approaches and Bayesion optimization methods in terms of the time spent on achieving specified speedups, demonstrating the effectiveness of BOCA.
- Subject
- compiler autotuning; Bayesian optimization; compiler optimization; configuration
- Identifier
- http://hdl.handle.net/1959.13/1437401
- Identifier
- uon:40338
- Identifier
- ISBN:9781665402965
- Language
- eng
- Reviewed
- Hits: 1420
- Visitors: 1414
- Downloads: 0